/* 
 * 创建日期 2011-3-31
 *
 * 成都天和软件公司
 * 电话：028-85425861 
 * 传真：028-85425861-8008 
 * 邮编：610041 
 * 地址：成都市武侯区航空路6号丰德万瑞中心B座1001 
 * 版权所有
 */
package  org.fantasy.cpp.core.dao.jdbc.sql;

import java.util.Map;

import  org.fantasy.common.util.ResultMap;

/**
 * 查询项SQL
 * @author 王文成
 * @version 1.0
 * @since 2011-3-31
 */
public class QueryItemSql {
	/**
	 * 取得查询SQL
	 * 
	 * @param qryMap
	 * @return
	 */
	public static String getQuerySql(Map<String, Object> qryMap) {
		ResultMap<String,Object> rm = new ResultMap<String,Object>(qryMap);
		StringBuilder sql = new StringBuilder(512);
		sql.append("SELECT a.item_id /*查询条件id*/, \n");
		sql.append("       a.item_type_id /*条件类型id*/, \n");
		sql.append("       a.query_id /*查询id*/, \n");
		sql.append("       a.item_name /*查询条件名称*/, \n");
		sql.append("       a.item_code /*输入条件名称*/, \n");
		sql.append("       a.item_check /*输入条件必选*/, \n");
		sql.append("       a.item_format /*输入条件格式*/, \n");
		sql.append("       a.def_value /*默认值*/, \n");
		sql.append("       a.css_style /*样式style*/, \n");
		sql.append("       a.css_class /*样式css*/, \n");
		sql.append("       a.auto_query /*自动查询*/, \n");
		sql.append("       a.class_name /*渲染类*/, \n");
		sql.append("       a.state /*状态*/ \n");
		sql.append("FROM   \n");
		sql.append("       QUERY_MODULE c, \n");
		sql.append("       QUERY_ITEM a \n");
		sql.append("WHERE  c.item_id = a.item_id \n");
		sql.append("       AND c.state = 'A' \n");
		sql.append("       AND a.state = 'A'  \n");
		
		if( rm.isValid("itemId") )
			sql.append("       AND a.item_id = :itemId \n");
		
		if( rm.isValid("pageId") )
			sql.append("       AND c.page_id = :pageId \n");
		
		sql.append("       ORDER BY c.sort \n");
		
		return sql.toString();
	}
	
	/**
	 * 取得查询SQL
	 * 
	 * @param qryMap
	 * @return
	 */
	public static String getQueryItemList(Map<String, Object> qryMap) {
		ResultMap<String,Object> rm = new ResultMap<String,Object>(qryMap);
		StringBuilder sql = new StringBuilder(512);
		sql.append("select B.*  \n");
		sql.append("from QUERY_MODULE A , QUERY_ITEM B  \n");
		sql.append("WHERE A.ITEM_ID = B.ITEM_ID  \n");
		sql.append("AND A.STATE='A'  \n");
		sql.append("AND B.STATE='A' \n");
		sql.append("AND A.PAGE_ID = :pageId \n");
		sql.append(" ORDER BY A.sort \n");
		return sql.toString();
	}
}
